package com.weizhizs.assistant.code.template;

import com.weizhizs.assistant.code.template.data.IntfDocData;
import com.weizhizs.assistant.code.template.data.JavaApiData;
import com.weizhizs.assistant.code.template.data.JavaAppControllerData;
import com.weizhizs.assistant.code.template.data.JavaAppServiceData;
import com.weizhizs.assistant.code.template.data.JavaControllerApiData;
import com.weizhizs.assistant.code.template.data.JavaDaoData;
import com.weizhizs.assistant.code.template.data.JavaDoData;
import com.weizhizs.assistant.code.template.data.JavaDtoData;
import com.weizhizs.assistant.code.template.data.JavaQueryData;
import com.weizhizs.assistant.code.template.data.JavaServiceData;
import com.weizhizs.assistant.code.template.data.JavaServiceImplData;
import com.weizhizs.assistant.code.template.data.JavaToData;
import com.weizhizs.assistant.code.template.data.MapperData;
import com.weizhizs.assistant.code.template.data.MenuSqlData;
import com.weizhizs.assistant.code.template.data.VueAddOrUpdateData;
import com.weizhizs.assistant.code.template.data.VueIndexData;

import java.util.HashMap;
import java.util.Map;

public class DataRegister {

    private static Map<String, IDataLoador> generatorMap = new HashMap<>();

    static {
        generatorMap.put("AppController文件生成器", new JavaAppControllerData());
        generatorMap.put("AppService文件生成器", new JavaAppServiceData());

//        generatorMap.put("ControllerApi文件生成器", new JavaControllerApiData());
        generatorMap.put("Service文件生成器", new JavaServiceData());
        generatorMap.put("ServiceImpl文件生成器", new JavaServiceImplData());
        generatorMap.put("DO文件生成器", new JavaDoData());

//        generatorMap.put("Api文件生成器", new JavaApiData());
        generatorMap.put("Dao文件生成器", new JavaDaoData());
        generatorMap.put("Query文件生成器", new JavaQueryData());
        generatorMap.put("DTO文件生成器", new JavaDtoData());
//        generatorMap.put("TO文件生成器", new JavaToData());

        generatorMap.put("Mapper文件生成器", new MapperData());

        generatorMap.put("VueIndex页面生成器", new VueIndexData());
        generatorMap.put("VueAddOrUpdate页面生成器", new VueAddOrUpdateData());
        generatorMap.put("MenuSql生成器", new MenuSqlData());

        generatorMap.put("Intf接口文件生成器", new IntfDocData());
    }

    public static Map<String, IDataLoador> templateDataMap() {
        return generatorMap;
    }

}
